package cn.tedu.oop;
/**本类用于测试继承中普通方法的使用*/
public class TestExtends {
    public static void main(String[] args) {
        Father f=new Father();
        Son s=new Son();
        f.eat();
        f.play();
        s.eat();
        s.play();
    }
}
class Father{
    public void eat(){
        System.out.println("爸爸爱吃肉");
    }
    public static void play(){
        System.out.println("爸爸爱放风筝~");
    }

}
class Son extends Father{
    /**如果子类对于父类的方法实现不满意，可以在子类中重写父类的方法
     * 重写的语法规则：两同 两小 一大
     * 两同：子类方法的 方法名与参数列表 和父类方法相同
     * 两小：子类方法的返回值类型与父类方法的返回值类型相同，或者是父类返回值类型的子类
     *      比大小是看继承关系，基本类型都不能改变的重写
     * 注意：如果父类方法的返回值类型为void，子类应该保持一致
     * 一大：子类方法的 修饰符权限>=父类方法的修饰符权限*/
    @Override// 注解，标记这是一个重写的方法
    public void eat(){
        System.out.println("儿子爱吃蔬菜");
    }
//    @Override
//    public static void play(){
//        System.out.println("儿子爱玩游戏~");
//    }


}